From eebd4f1c4bba4d1a2b9a5e0cfd9fd34f318ee84d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 16 Mar 2005 07:16:29 +0000 Subject: [PATCH] Also demonstrate GtkCellRenderer::editing-started and separators. 2005-03-16 Matthias Clasen * demos/gtk-demo/editable_cells.c: Also demonstrate GtkCellRenderer::editing-started and separators. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ demos/gtk-demo/editable_cells.c | 33 +++++++++++++++++++++++++++++++-- 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 40a7f410bf..e05d594e5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-03-16 Matthias Clasen + + * demos/gtk-demo/editable_cells.c: Also demonstrate + GtkCellRenderer::editing-started and separators. + Tue Mar 15 20:34:33 2005 Manish Singh * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 40a7f410bf..e05d594e5d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-03-16 Matthias Clasen + + * demos/gtk-demo/editable_cells.c: Also demonstrate + GtkCellRenderer::editing-started and separators. + Tue Mar 15 20:34:33 2005 Manish Singh * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 40a7f410bf..e05d594e5d 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-03-16 Matthias Clasen + + * demos/gtk-demo/editable_cells.c: Also demonstrate + GtkCellRenderer::editing-started and separators. + Tue Mar 15 20:34:33 2005 Manish Singh * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too. diff --git a/demos/gtk-demo/editable_cells.c b/demos/gtk-demo/editable_cells.c index 4328134382..524b1e8c2b 100644 --- a/demos/gtk-demo/editable_cells.c +++ b/demos/gtk-demo/editable_cells.c @@ -2,7 +2,9 @@ * * This demo demonstrates the use of editable cells in a GtkTreeView. If * you're new to the GtkTreeView widgets and associates, look into - * the GtkListStore example first. + * the GtkListStore example first. It also shows how to use the + * GtkCellRenderer::editing-started signal to do custom setup of the + * editable widget. * * The cell renderers used in this demo are GtkCellRendererText and * GtkCellRendererCombo. @@ -100,7 +102,6 @@ static GtkTreeModel * create_numbers_model (void) { #define N_NUMBERS 10 - gint i = 0; GtkListStore *model; GtkTreeIter iter; @@ -168,6 +169,32 @@ remove_item (GtkWidget *widget, gpointer data) } } +static gboolean +separator_row (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data) +{ + GtkTreePath *path; + gint idx; + + path = gtk_tree_model_get_path (model, iter); + idx = gtk_tree_path_get_indices (path)[0]; + + gtk_tree_path_free (path); + + return idx == 5; +} + +static void +editing_started (GtkCellRenderer *cell, + GtkCellEditable *editable, + const gchar *path, + gpointer data) +{ + gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (editable), + separator_row, NULL, NULL); +} + static void cell_edited (GtkCellRendererText *cell, const gchar *path_string, @@ -234,6 +261,8 @@ add_columns (GtkTreeView *treeview, NULL); g_signal_connect (renderer, "edited", G_CALLBACK (cell_edited), items_model); + g_signal_connect (renderer, "editing-started", + G_CALLBACK (editing_started), NULL); g_object_set_data (G_OBJECT (renderer), "column", GINT_TO_POINTER (COLUMN_ITEM_NUMBER)); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview), -- 2.30.2